***Replication file**************************************
***Perceptions of Electability: Candidate (and Voter) Ideology, Race, and Gender
***Political Behavior***********************************************************
***Hans J.G. Hassell and Neil Visalvanich***************************************

cd "::Directory Here::"

ssc install blindschemes

********************************************************************************
***Roper Polling Data Replication File******************************************
********************************************************************************

use AllPollsFinal.dta, replace


***Figure 1*********************************************************************
********************************************************************************

reg moderateelectable i.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
	regsave 3.IDEO5Recoded using "RoperResultsFigureIdeo.dta", detail(all) addlabel(liberalE, 0) replace
reg liberalelectable ib3.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
	regsave 1.IDEO5Recoded using "RoperResultsFigureIdeo.dta", detail(all) addlabel(liberalE, 1) append


preserve
	set scheme plotplainblind
	use RoperResultsFigureIdeo.dta, clear
			gen CI=stderr*1.96
			graph set window fontface "Times New Roman"
			*Effects of (shared) Ideology*
			serrbar coef CI liberalE, yscale(range(-.25(.01).25)) ymtick(##1, grid) yline (0) ylabel (-.25(.1).25, labs (medium) nogrid) xlabel(-.5(1)1.5)  xlabel(-.5 " " 0 "Moderate Candidates" 1 "Liberal Candidates" 1.5 " ", labs (medium) nogrid angle(0)) xtitle (" ")  ytitle ("", size (medium) ) 
			graph export "RoperbyIdeology.pdf", as (pdf) replace
restore
			
reg hispanicelectable i.IDEO5Recoded hispR femaleR i.income i.educ i.agebreak i.survey
	regsave hispR using "RoperResultsFigureRace.dta", detail(all) addlabel(Race, 0) replace
reg blackelectable i.IDEO5Recoded blackR femaleR i.income i.educ i.agebreak i.survey
	regsave blackR using "RoperResultsFigureRace.dta", detail(all) addlabel(Race, 1) append
reg minorityelectable i.IDEO5Recoded minorityR femaleR i.income i.educ i.agebreak i.survey
	regsave minorityR using "RoperResultsFigureRace.dta", detail(all) addlabel(Race, 2) append
		
preserve
	use RoperResultsFigureRace.dta, clear
			gen CI=stderr*1.96
			set scheme plotplainblind
			graph set window fontface "Times New Roman"
			*Effects of (shared) Ideology*
			serrbar coef CI Race, yscale(range(-.25(.01).25)) ymtick(##1, grid) yline (0) ylabel (-.25(.1).25, labs (medium) nogrid) xlabel(-.5(1)2.5)  xlabel(-.5 " " 0 "Latino Candidates" 1 "Black Candidates" 2 "All Minority Candidates" 2.5 " ", labs (medium) nogrid angle(0)) xtitle (" ")  ytitle ("", size (medium) ) 
			graph export "RoperbyRace.pdf", as(pdf) replace

restore


reg femaleelectable i.IDEO5Recoded i.racenet femaleR i.income i.educ i.agebreak i.survey
	regsave femaleR using "RoperResultsFigureGender.dta", detail(all) addlabel(Female, 0) replace

preserve
	use RoperResultsFigureGender.dta, clear
			gen CI=stderr*1.96
			set scheme plotplainblind
			graph set window fontface "Times New Roman"
			*Effects of Shared Gender*
			serrbar coef CI Female, yline (0) yscale(range(-.25(.01).25)) ymtick(##1, grid) ylabel (-.25(.1).25, labs (medium) nogrid) xlabel(-.5(.5).5) xlabel(-.5 " " 0 "Female Candidates" .5 " ", labs (medium) nogrid angle(0)) xtitle (" ")  ytitle ("", size (medium) )
			graph export "RoperByGender.pdf", as(pdf) replace
restore



********************************************************************************
***Survey Experiment Analysis***************************************************
********************************************************************************

use ConjointAnalysisReady.dta, clear


***Table 1**********************************************************************
********************************************************************************

preserve
sort respondantID
quietly by respondantID:  gen dup = cond(_N==1,0,_n)
drop if dup>2

tab pid5 
tab RIdeology
tab rfemale
tab race 
tab educ  
tab income  
sum age 
restore

***Figure 2*********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
	estimates store All
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Democrats
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Republicans

set scheme plotplain
graph set window fontface "Arial"
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale=`"  "{it: Gender}"   "{it:(Baseline = Male)}"  "'  1.ConjFemale="Female" 1.ConjCandRace=`"  "{it: Race}"   "{it: (Baseline = White)}"  "'2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup=`"  "{it: Age}"   "{it:(Baseline = 51)}"  "' 1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt=`"  "{it: Ideology}"   "{it:(Baseline = Ideological)}"  "'1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality=`"  "{it: Candidate Experience}"   "{it:(Baseline = No Experience)}"  "'1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline:Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline:Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons 2.ConjStumpSpeech 1.ConjStumpSpeech 0.ConjStumpSpeech 2.ConjCharacterRank 1.ConjCharacterRank 0.ConjCharacterRank 0.ConjAgeGroup 1.ConjAgeGroup 3.ConjAgeGroup) baselevels xline(0) byopts(row(1))


***Figure 3*********************************************************************
********************************************************************************

**Going back to original variable codings**
replace ConjIdeologyExt=2 if ConjIdeologyExt==0 //2 = ideological (not moderate or extreme)
replace ConjAgeGroup=2 if ConjAgeGroup==0 // 2=middle age (51)

set scheme plotplainblind
graph set window fontface "Arial"
reg moreelectable ConjCandRace##minority i.ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
margins ConjCandRace#minority, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as More Electable") xtitle("Candidate Race") ytitle("") xlabel(1 "White Candidate" 2 "Black Candidate" 3 "Hispanic Candidate", angle(25))  yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "White Respondent" 2 "Minority Respondent") position(6) ring(0))

***Figure 4*********************************************************************
********************************************************************************

set scheme plotplainblind
reg moreelectable i.ConjCandRace##c.minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
margins ConjIdeologyExt#RIdeolExt if RIdeolExt!=2 & RIdeolExt!=3, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as More Electable") xtitle("Candidate Ideological Extremity") ytitle("") xlabel(1 "Moderate" 2 "Ideological" 3 "Very Ideological", angle(25)) yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Moderate Respondent" 2 "Very Ideological Respondent") position(6) ring(0))


***Figure 5*********************************************************************
********************************************************************************

**Democrats
set scheme plotplainblind
reg moreelectable i.ConjCandRace##c.minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if pidlean!=3 & conjointd1 !=., cluster (respondantID)
margins ConjIdeologyExt#RIdeolExt if RIdeolExt!=2 & RIdeolExt!=3, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as More Electable") xtitle("Candidate Ideological Extremity") ytitle("") xlabel(1 "Moderate" 2 "Ideological" 3 "Very Ideological", angle(25)) yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Moderate Respondent" 2 "Very Ideological Respondent") position(6) ring(0))

**Republicans**
set scheme plotplainblind
reg moreelectable i.ConjCandRace##c.minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if pidlean!=3 & conjointr1 !=., cluster (respondantID)
margins ConjIdeologyExt#RIdeolExt if RIdeolExt!=2 & RIdeolExt!=3, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as More Electable") xtitle("Candidate Ideological Extremity") ytitle("") xlabel(1 "Moderate" 2 "Ideological" 3 "Very Ideological", angle(25)) yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Moderate Respondent" 2 "Very Ideological Respondent") position(6) ring(0))


***Figure 6*********************************************************************
********************************************************************************

**Going back to altered variable codings for Full Conjoint figure creation**
replace ConjIdeologyExt=0 if ConjIdeologyExt==2 // moderate == 0
replace ConjAgeGroup=0 if ConjAgeGroup==2 // 0=middle age (51)

set scheme plotplain
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
	estimates store All
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Democrats
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Republicans

set scheme plotplain
graph set window fontface "Arial"
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale=`"  "{it: Gender}"   "{it:(Baseline = Male)}"  "'  1.ConjFemale="Female" 1.ConjCandRace=`"  "{it: Race}"   "{it: (Baseline = White)}"  "'2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup=`"  "{it: Age}"   "{it:(Baseline = 51)}"  "' 1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt=`"  "{it: Ideology}"   "{it:(Baseline = Ideological)}"  "'1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality=`"  "{it: Candidate Experience}"   "{it:(Baseline = No Experience)}"  "'1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline:Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline:Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons 2.ConjStumpSpeech 1.ConjStumpSpeech 0.ConjStumpSpeech 2.ConjCharacterRank 1.ConjCharacterRank 0.ConjCharacterRank 0.ConjAgeGroup 1.ConjAgeGroup 3.ConjAgeGroup) baselevels xline(0) byopts(row(1))

***Figure 7*********************************************************************
********************************************************************************

**Going back to original variable codings for marginal effects figures**
replace ConjIdeologyExt=2 if ConjIdeologyExt==0
replace ConjAgeGroup=2 if ConjAgeGroup==0 // 2=middle age (51)

set scheme plotplainblind
reg wouldvote ConjCandRace##minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
margins ConjCandRace#minority, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as Vote Choice") xtitle("Candidate Race") ytitle("") xlabel(1 "White Candidate" 2 "Black Candidate" 3 "Hispanic Candidate", angle(25))  yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "White Respondent" 2 "Minority Respondent") position(6) ring(0))


***Figure 8*********************************************************************
********************************************************************************

set scheme plotplainblind
reg wouldvote ConjCandRace##minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
margins ConjFemale#rfemale, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as Vote Choice") xtitle("Candidate Gender") ytitle("") xlabel( 0 "Male Candidate" 1 "Female Candidate", angle(25))  yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Male Respondent" 2 "Female Respondent") position(6) ring(0))



********************************************************************************
***Appendix Tables & Figures****************************************************
********************************************************************************

***Table A1*********************************************************************
********************************************************************************
reg moderateelectable i.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg liberalelectable ib3.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg hispanicelectable i.IDEO5Recoded hispR femaleR i.income i.educ i.agebreak i.survey
reg blackelectable i.IDEO5Recoded blackR femaleR i.income i.educ i.agebreak i.survey
reg minorityelectable i.IDEO5Recoded minorityR femaleR i.income i.educ i.agebreak i.survey
reg femaleelectable i.IDEO5Recoded i.racenet femaleR i.income i.educ i.agebreak i.survey


***Table A2*********************************************************************
********************************************************************************
reg Warrenelectable ib3.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg Sanderselectable ib3.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg Bidenelectable i.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg Buttigiegelectable i.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey
reg Klobucharelectable i.IDEO5Recoded femaleR i.income i.educ i.agebreak i.racenet i.survey


***Figure A1********************************************************************
********************************************************************************

replace ConjIdeologyExt=0 if ConjIdeologyExt==2 //0 = ideological (not moderate or extreme)
replace ConjAgeGroup=0 if ConjAgeGroup==2 // 0=middle age (51)


reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
	estimates store All
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Democrats
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Republicans

coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons) baselevels xline(0) byopts(row(1))


***Figure A2********************************************************************
********************************************************************************


reg moreelectable i.ConjCandRace ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if polactivity_6==1, cluster (respondantID)
	estimates store All
reg moreelectable i.ConjCandRace ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3 & polactivity_6==1, cluster (respondantID)
	estimates store Democrats
reg moreelectable i.ConjCandRace ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3 & polactivity_6==1, cluster (respondantID)
	estimates store Republicans

set scheme plotplain
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale=`"  "{it: Gender}"   "{it:(Baseline = Male)}"  "'  1.ConjFemale="Female" 1.ConjCandRace=`"  "{it: Race}"   "{it: (Baseline = White)}"  "'2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup=`"  "{it: Age}"   "{it:(Baseline = 51)}"  "' 1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt=`"  "{it: Ideology}"   "{it:(Baseline = Ideological)}"  "'1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality=`"  "{it: Candidate Experience}"   "{it:(Baseline = No Experience)}"  "'1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline:Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline:Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons 2.ConjStumpSpeech 1.ConjStumpSpeech 0.ConjStumpSpeech 2.ConjCharacterRank 1.ConjCharacterRank 0.ConjCharacterRank 0.ConjAgeGroup 1.ConjAgeGroup 3.ConjAgeGroup) baselevels xline(0) byopts(row(1))


***Figure A3********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt, cluster (respondantID)
	estimates store All
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointd1 !=., cluster (respondantID)
	estimates store Democrats
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointr1 !=., cluster (respondantID)
	estimates store Republicans
	
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" rfemale="Female Respondent" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker" 1.ConjFemale#c.rfemale="Female Resp. * Female" 1.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Moderate" 3.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Extreme Ideol." RIdeolExt="Respondent Ideology" 2.ConjCandRace#c.minority="Minority Resp * Black" 3.ConjCandRace#c.minority="Minority Resp * Hispanic"  minority="Minority Respondent") drop(_cons) baselevels xline(0) byopts(row(1))


***Figure A4********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if polactivity_6==1, cluster (respondantID)
	estimates store All
reg moreelectable  i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & polactivity_6==1 & conjointd1 !=., cluster (respondantID)
	estimates store Democrats
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & polactivity_6==1 & conjointr1 !=., cluster (respondantID)
	estimates store Republicans
	
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" rfemale="Female Respondent" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker" 1.ConjFemale#c.rfemale="Female Resp. * Female" 1.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Moderate" 3.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Extreme Ideol." RIdeolExt="Respondent Ideology" 2.ConjCandRace#c.minority="Minority Resp * Black" 3.ConjCandRace#c.minority="Minority Resp * Hispanic"  minority="Minority Respondent") drop(_cons) baselevels xline(0) byopts(row(1))

***Figure A5********************************************************************
********************************************************************************

replace ConjIdeologyExt=2 if ConjIdeologyExt==0 //2 = ideological (not moderate or extreme)
replace ConjAgeGroup=2 if ConjAgeGroup==0 // 2=middle age (51)

set scheme plotplainblind
graph set window fontface "Arial"
reg moreelectable i.ConjCandRace##c.minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
margins ConjFemale#rfemale, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as More Electable") xtitle("Candidate Gender") ytitle("") xlabel(0 "Male" 1 "Female" , angle(25)) yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Male Respondent" 2 "Female Respondent") position(6) ring(0))


***Figure A6********************************************************************
********************************************************************************
replace ConjIdeologyExt=0 if ConjIdeologyExt==2 //0 = ideological (not moderate or extreme)
replace ConjAgeGroup=0 if ConjAgeGroup==2 // 0=middle age (51)

set scheme plotplain
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
	estimates store All
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Democrats
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Republicans
	
coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons) baselevels xline(0) byopts(row(1))

***Figure A7********************************************************************
********************************************************************************

set scheme plotplain
reg wouldvote i.ConjCandRace i.ConjFemale ib2.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if polactivity_6==1, cluster (respondantID)
	estimates store All
reg wouldvote i.ConjCandRace i.ConjFemale ib2.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3 & polactivity_6==1, cluster (respondantID)
	estimates store Democrats
reg wouldvote i.ConjCandRace i.ConjFemale ib2.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3 & polactivity_6==1, cluster (respondantID)
	estimates store Republicans

coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale=`"  "{it: Gender}"   "{it:(Baseline = Male)}"  "'  1.ConjFemale="Female" 1.ConjCandRace=`"  "{it: Race}"   "{it: (Baseline = White)}"  "'2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup=`"  "{it: Age}"   "{it:(Baseline = 51)}"  "' 1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt=`"  "{it: Ideology}"   "{it:(Baseline = Ideological)}"  "'1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality=`"  "{it: Candidate Experience}"   "{it:(Baseline = No Experience)}"  "'1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline:Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline:Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker") drop(_cons 2.ConjStumpSpeech 1.ConjStumpSpeech 0.ConjStumpSpeech 2.ConjCharacterRank 1.ConjCharacterRank 0.ConjCharacterRank 0.ConjAgeGroup 1.ConjAgeGroup 2.ConjAgeGroup 3.ConjAgeGroup) baselevels xline(0) byopts(row(1))

***Figure A8********************************************************************
********************************************************************************

reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
	estimates store All
reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Democrats
reg wouldvote  i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
	estimates store Republicans

coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" rfemale="Female Respondent" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker" 1.ConjFemale#c.rfemale="Female Resp. * Female" 1.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Moderate" 3.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Extreme Ideol." RIdeolExt="Respondent Ideology" 2.ConjCandRace#c.minority="Minority Resp * Black" 3.ConjCandRace#c.minority="Minority Resp * Hispanic"  minority="Minority Respondent") drop(_cons) baselevels xline(0) byopts(row(1))

***Figure A9********************************************************************
********************************************************************************

replace ConjIdeologyExt=2 if ConjIdeologyExt==0 //2 = ideological (not moderate or extreme)
replace ConjAgeGroup=2 if ConjAgeGroup==0 // 2=middle age (51)

*Democrats
set scheme plotplainblind
reg wouldvote ConjCandRace##minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
margins ConjFemale#rfemale, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as Vote Choice") xtitle("Candidate Gender") ytitle("") xlabel( 0 "Male Candidate" 1 "Female Candidate", angle(25))  yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Male Respondent" 2 "Female Respondent") position(6) ring(0))

*Republicans*
set scheme plotplainblind
reg wouldvote ConjCandRace##minority ConjFemale##rfemale ib2.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)
margins ConjFemale#rfemale, asbalanced level(95) post
marginsplot, recastci(rcap) yline(.50) title("Likelihood of Selecting Candidate as Vote Choice") xtitle("Candidate Gender") ytitle("") xlabel( 0 "Male Candidate" 1 "Female Candidate", angle(25))  yscale(range(.35(.1).65)) ylabel(.35(.1).65) ytitle("Predicted Likelihood") legend(order(1 "Male Respondent" 2 "Female Respondent") position(6) ring(0))

***Figure A10*******************************************************************
********************************************************************************
replace ConjIdeologyExt=0 if ConjIdeologyExt==2 //0 = ideological (not moderate or extreme)
replace ConjAgeGroup=0 if ConjAgeGroup==2 // 0=middle age (51)

reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if pidlean!=3 & polactivity_6==1, cluster (paircomparison)
	estimates store All
reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3 & polactivity_6==1, cluster (paircomparison)
	estimates store Democrats
reg wouldvote  i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3 & polactivity_6==1, cluster (paircomparison)
	estimates store Republicans

coefplot All || Democrats || Republicans , xscale(range(-.1 .1)) xlabel(-.1(.1).1) xmtick(##2, grid) coeflabels(0.ConjFemale="{it: Gender (Baseline = Male)}"  1.ConjFemale="Female" rfemale="Female Respondent" 1.ConjCandRace="{it: Race (Baseline = White)}"  2.ConjCandRace="Black" 3.ConjCandRace="Hispanic" 0.ConjAgeGroup="{it: Age (Baseline = 51)}"  1.ConjAgeGroup="Age=34" 3.ConjAgeGroup="Age=68" 0.ConjIdeologyExt="{it: Ideology (Baseline = Ideological)}"  1.ConjIdeologyExt="Moderate" 3.ConjIdeologyExt="Very Ideological" 0.ConjCandQuality="{it: Candidate Experience (Baseline = No Experience)}"  1.ConjCandQuality="State Legislator" 0.ConjCharacterRank="{it:Personableness (Baseline = Not Personable)}" 1.ConjCharacterRank="Somewhat Personable" 2.ConjCharacterRank="Very Personable" 0.ConjStumpSpeech="{it:Speaking Ability (Baseline = Not a Good Speaker)}"1.ConjStumpSpeech="Good Speaker" 2.ConjStumpSpeech="Dynamic Speaker" 1.ConjFemale#c.rfemale="Female Resp. * Female" 1.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Moderate" 3.ConjIdeologyExt#c.RIdeolExt="Resp. Idelogy * Extreme Ideol." RIdeolExt="Respondent Ideology" 2.ConjCandRace#c.minority="Minority Resp * Black" 3.ConjCandRace#c.minority="Minority Resp * Hispanic"  minority="Minority Respondent") drop(_cons) baselevels xline(0) byopts(row(1))


***Table A3*********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)


***Table A4*********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt, cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointd1 !=., cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointr1 !=., cluster (respondantID)

***Table A5*********************************************************************
********************************************************************************

reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.black i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt, cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.black i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointd1 !=., cluster (respondantID)
reg moreelectable i.ConjCandRace i.ConjFemale i.ConjIdeologyExt i.ConjCandQuality i.ConjAgeGroup i.ConjCharacterRank i.ConjStumpSpeech i.ConjCandRace##c.black i.ConjFemale##c.rfemale i.ConjIdeologyExt##c.RIdeolExt if pidlean!=3 & conjointr1 !=., cluster (respondantID)

***Table A6*********************************************************************
********************************************************************************

reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
reg wouldvote i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)

***Table A7*********************************************************************
********************************************************************************

reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
reg wouldvote i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
reg wouldvote  i.ConjCandRace##c.minority i.ConjFemale##c.rfemale i.ConjAgeGroup i.ConjIdeologyExt##c.RIdeolExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)

***Table A8*********************************************************************
********************************************************************************

regress wouldvote moreelectable i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech, cluster (respondantID)
regress wouldvote moreelectable i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointd1 !=. & pidlean!=3, cluster (respondantID)
regress wouldvote moreelectable i.ConjCandRace i.ConjFemale i.ConjAgeGroup i.ConjIdeologyExt i.ConjCandQuality i.ConjCharacterRank i.ConjStumpSpeech if conjointr1 !=. & pidlean!=3, cluster (respondantID)

***Table A9*********************************************************************
********************************************************************************

**Going back to original variable codings**
replace ConjIdeologyExt=2 if ConjIdeologyExt==0
replace ConjAgeGroup=2 if ConjAgeGroup==0 // 2=middle age (51)


tab ConjIdeologyExt , gen (ConjIdeologyExt_)
tab ConjAgeGroup, gen (ConjAgeGroup_)
tab ConjCharacterRank, gen (ConjCharacterRank_)
tab ConjStumpSpeech, gen (ConjStumpSpeech_)
tab ConjCandRace, gen (ConjCandRace_)
		
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable) , mediate (moreelectable) treat (ConjFemale) sims(1000) vce (cluster respondantID) level(99)

***Table A10********************************************************************
********************************************************************************

*Democrats Only*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable) if conjointd1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjFemale) sims(1000) vce (cluster respondantID) level(99)

*Republicans Only*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable) if conjointr1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjFemale) sims(1000) vce (cluster respondantID) level(95)

***Table A11********************************************************************
********************************************************************************

*Black*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3 ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) , mediate (moreelectable) treat (ConjCandRace_2) sims(1000) vce(cluster respondantID) level(99)

*Hispanic*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) , mediate (moreelectable) treat (ConjCandRace_3) sims(1000) vce(cluster respondantID) level(95)

***Table A12********************************************************************
********************************************************************************
	
*Democrats Only*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3 ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointd1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjCandRace_2) sims(1000) vce(cluster respondantID) level(99)
*Republicans Only*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3 ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointr1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjCandRace_2) sims(1000) vce(cluster respondantID) level(99)

***Table A13********************************************************************
********************************************************************************

*Democrats only
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointd1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjCandRace_3) sims(1000) vce(cluster respondantID) level(95)
*Republicans Only*
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointr1 !=. & pidlean!=3, mediate (moreelectable) treat (ConjCandRace_3) sims(1000) vce(cluster respondantID) level(95)

***Table A14********************************************************************
********************************************************************************

*All
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) , mediate (moreelectable) treat (ConjIdeologyExt_3) sims(1000) vce(cluster respondantID)
*Moderate Respondents
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3 ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if RIdeolExt==1, mediate (moreelectable) treat (ConjIdeologyExt_3) sims(1000) vce(cluster respondantID)
*Extreme Respondents
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if RIdeolExt==4, mediate (moreelectable) treat (ConjIdeologyExt_3) sims(1000) vce(cluster respondantID)


***Table A15********************************************************************
********************************************************************************

*Moderate
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointd1 !=. & pidlean!=3 , mediate (moreelectable) treat (ConjIdeologyExt_1) sims(1000) vce(cluster respondantID) level (99)
*Extreme
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointd1 !=. & pidlean!=3 , mediate (moreelectable) treat (ConjIdeologyExt_3) sims(1000) vce(cluster respondantID)

***Table A16********************************************************************
********************************************************************************

*Moderate
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointr1 !=. & pidlean!=3 , mediate (moreelectable) treat (ConjIdeologyExt_1) sims(1000) vce(cluster respondantID)	level(99)
*Extreme
medeff (regress moreelectable ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3) (regress wouldvote ConjCandRace_2 ConjCandRace_3 ConjFemale ConjAgeGroup_1 ConjAgeGroup_3 ConjIdeologyExt_1 ConjIdeologyExt_3  ConjCandQuality ConjCharacterRank_2 ConjCharacterRank_3  ConjStumpSpeech_2 ConjStumpSpeech_3 moreelectable ) if conjointr1 !=. & pidlean!=3 , mediate (moreelectable) treat (ConjIdeologyExt_3) sims(1000) vce(cluster respondantID)


